package com.xintai.approval.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xintai.common.annotation.Excel;
import com.xintai.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 定义流程的基本信息对象 flow_basicinfo
 *
 * @author xintai
 * @date 2021-02-01
 */
public class FlowBasicinfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 流程名称 */
    @Excel(name = "流程名称")
    private String flowName;

    /** 状态0正常，1禁用 */
    @Excel(name = "状态0正常，1禁用")
    private String status;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createUser;

    /** 主管 */
    @Excel(name = "主管")
    private String directorMaxLevel;

    /** 流程id */
    @Excel(name = "流程id")
    private Long flowId;

    /** 发起人默认所有人 */
    @Excel(name = "发起人默认所有人")
    private String flowPermissionid;

    /** 流程 */
    private NodeConfig nodeConfig;

    /** 发起人*/
    private List<NodeUser> flowPermission;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFlowName(String flowName)
    {
        this.flowName = flowName;
    }

    public String getFlowName()
    {
        return flowName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }

    public String getCreateUser()
    {
        return createUser;
    }
    public void setDirectorMaxLevel(String directorMaxLevel)
    {
        this.directorMaxLevel = directorMaxLevel;
    }

    public String getDirectorMaxLevel()
    {
        return directorMaxLevel;
    }
    public void setFlowId(Long flowId)
    {
        this.flowId = flowId;
    }

    public Long getFlowId()
    {
        return flowId;
    }
    public void setFlowPermissionid(String flowPermissionid)
    {
        this.flowPermissionid = flowPermissionid;
    }

    public String getFlowPermissionid()
    {
        return flowPermissionid;
    }

    public NodeConfig getNodeConfig() {
        return nodeConfig;
    }

    public void setNodeConfig(NodeConfig nodeConfig) {
        this.nodeConfig = nodeConfig;
    }

    public List<NodeUser> getFlowPermission() {
        return flowPermission;
    }

    public void setFlowPermission(List<NodeUser> flowPermission) {
        this.flowPermission = flowPermission;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("flowName", getFlowName())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("directorMaxLevel", getDirectorMaxLevel())
            .append("flowId", getFlowId())
            .append("flowPermissionid", getFlowPermissionid())
            .toString();
    }
}
